import { createSlice } from '@reduxjs/toolkit';

// 是否为手持设备
const isMobile = !!/(iPhone|iPad|iPod|iOS|Android)/i.test(navigator.userAgent);

export const counterSlice = createSlice({
	// 命名空间，在调用action的时候会默认的设置为action的前缀,保证唯一.不重名
	name: 'user',

	// state数据的初始值
	initialState: {
		isMobile, // 是否为手持设备
		overallLoading: false, // 全局loading
		collapsed: false, // 菜单收起
		/*********菜单列表*******/
		queryRoutes: false, // 路由已经请求
		menuList: [], // 菜单数据
		Routes: [], // 路由数据
		BreadcrumbList: {} // 面包屑数据
	},

	// 定义的action-赋值的方式进行数据的改变
	reducers: {
		updateOverallLoading: (state, { payload }) => {
			state.overallLoading = payload;
		},
		setUserItem: (state, { payload }) => {
			Object.assign(state, payload);
		}
	}
});

// 导出方法
export const { updateOverallLoading, setUserItem } = counterSlice.actions;

// 导出切片数据
export default counterSlice.reducer;
